package com.forum.service;

import com.forum.model.vo.PostVO;

import java.util.List;

/**
 * 帖子审核服务接口
 */
public interface PostAuditService {
    
    /**
     * 获取待审核的帖子列表
     * @return 待审核帖子列表
     */
    List<PostVO> getPendingPosts();
    
    /**
     * 审核通过帖子
     * @param postId 帖子ID
     * @param auditorId 审核人ID
     * @param remark 审核备注
     * @return 审核后的帖子
     */
    PostVO approvePost(Long postId, Long auditorId, String remark);
    
    /**
     * 拒绝帖子发布
     * @param postId 帖子ID
     * @param auditorId 审核人ID
     * @param reason 拒绝原因
     * @return 审核后的帖子
     */
    PostVO rejectPost(Long postId, Long auditorId, String reason);
    
    /**
     * 获取指定状态的帖子列表
     * @param status 帖子状态
     * @return 指定状态的帖子列表
     */
    List<PostVO> getPostsByStatus(Integer status);
    
    /**
     * 获取用户所有帖子，包括各种状态
     * @param userId 用户ID
     * @return 用户的所有帖子
     */
    List<PostVO> getUserAllPosts(Long userId);
} 